what am I doing wrong please

GETTING DATASET DOES NOT EXIST WITH THIS CODE.

wixdata.query( "DSCI" ) 
    .eq( "title" , userEmail) 
    .find() 

    .then( (results) => { 

if (results.items.length > 0 ) {
$w( ‘#text46’ ).text = “In >0 area”
// set sessions for display of user in the header of pages
session.setItem(MKUserRole, userrole);
session.setItem(MKUserEmail, userEmail);
$w( “#BackMember” ).show();
} else {
// The email is not in the ds so add them to the ds.
$w( ‘#text45’ ).text = “In 0 area”
$w( “#DSCI” ).setFilter( wixdata.filter()
.eq( “title” , “” ));

        $w( "#DSCI" ).setFieldValue( "title" , userEmail); 
        $w( "#DSCI" ).setFieldValue( "abilites" ,  "Member" ); 

        $w( "#containNewMember" ).show() ; 

        $w( "#BackMember" ).show(); 
        }; 
    })

@raymondtrussell123 The reason for the error is that you are attempting to use setFilter directly on a collection and not a dataset that you have added to the page that has been linked to that collection.

Though it seems like you should be able to do what you are attempting, it can be tricky mixing wixData.query code with dataset code. It can take a while to figure out the best use of each when you are new to Velo, but in this case, I would opt for a wixData API approach using wixData.insert to add the record if needed. If you then need to filter on the newly added record, you could then use the dataset setFilter command.

I have no idea where you calling the above code, so I took the liberty to do it in the page onReady.

import wixData from 'wix-data';

$w.onReady(function () {
   wixData.query("DSCI")
        .eq("title", userEmail)
        .find()
        .then( (results) => {
           if (results.items.length > 0) {
                $w('#text46').text = "In >0 area"
                // set sessions for display of user in the header of pages
                session.setItem(MKUserRole, userrole);
                session.setItem(MKUserEmail, userEmail);
                $w("#BackMember").show();
            } else {
                 $w('#text45').text = "In 0 area"
                 let toInsert = {"title": userEmail,"abilites": "Member"}
                 wixData.insert("DSCI",toInsert)
                .then( (results) => {
                    $w("#containNewMember").show();
                    $w("#BackMember").show();
                     // Now, that record has been added via wixData insert, you can 
                     // filter the dataset on the page that is set to the 
                     // collection that you have named DSCI.
                    $w("#dataset1").setFilter(wixData.filter()
                    .eq("title", userEmail));
               } );
            };
        })
});

When you want to reference a dataset in code, you use the ID highlighted in this screen shot:

This is all of the code for that page and a screen shot I still get
WDE0025 The DSCI collection does not exist.

// API Reference: Introduction - Velo API Reference - Wix.com
// “Hello, World!” Example: Velo Learning Center
import wixUsers from “wix-users” ;
import wixdata from “wix-data” ;
import {session} from ‘wix-storage’ ;

let user = wixUsers.currentUser ;
let isloggedin = user.loggedIn
let userrole = user.role
let userEmail
let MKUserEmail = “MKUserEmail” ;
let MKUserRole = “MKUserRole” ;

$w.onReady( function () {

$w( "#containNewMember" ).hide() ; 
$w( "#BackMember" ).show(); 
$w( "#text45" ).show(); 
wixUsers.promptLogin({ "mode" :  "login" }) 
    .then ( () => { 
    user = wixUsers.currentUser ; 
    user.getEmail() 
    .then( (email) => { 
        userEmail = email; 
        userrole = user.role 

// find if userEmail is in the ds contact info
$w( ‘#text45’ ).text = userEmail
wixdata.query( “DSCI” )
.eq( “title” , userEmail)
.find()

    .then( (results) => { 

let lentext = String(results.items.length) ;
$w( ‘#text46’ ).text = lentext
if (results.items.length > 0 ) {
$w( ‘#text45’ ).text = “in the results >0 area”
// set sessions for display of user in the header of pages
session.setItem(MKUserRole, userrole);
session.setItem(MKUserEmail, userEmail);
$w( “#BackMember” ).show();
}
else {
// The email is not in the ds so add them to the ds.

let toInsert = { “title” : userEmail, “abilites” : “Member” }
wixdata.insert( “DSCI” ,toInsert)
.then( (results) => {

            $w( '#text46' ).text = userEmail                       

// Now, that record has been added via wixData insert, you can
// filter the dataset on the page that is set to the
// collection that you have named DSCI.
$w( “#DSCI” ).setFilter(wixdata.filter()
.eq( “title” , userEmail));
$w( “#containNewMember” ).show();
$w( “#BackMember” ).show();
});
}
})
})
});
})

/**

session.setItem(MKUserRole, userrole); 
session.setItem(MKUserEmail, userEmail); 

$w( "#DSCI" ).save() 
$w( "#BackMember" ).hide(); 
$w( "#BackMember" ).show(); 

}

@raymondtrussell123 Names of collections are case sensitive. Verify in the Content Manager that the collection’s name is actually DSCI.