mongoDB clear documents in collection - mongodb

Please help with error below when running in mongodDb shell, thanks,
> use mvp_demo
switched to db mvp_demo
> show collections;
1476851599865_IND_TRX
1476851599865_NIN_TRX
1476851599865_SWF_TRX
configuration
> db.1476851599865_IND_TRX.remove({})
2017-02-16T22:34:29.377-0500 E QUERY [thread1] SyntaxError: identifier starts immediately after numeric literal #(shell):1:2

The problem is that mongodb wasn't designed to have a number as the first character in a collection name, similar to how JavaScript doesn't let you begin a variable name with a number. But to get around this limitation please try running the following:
db["1476851599865_IND_TRX"].remove({})

Related

Full-text-search on mongoDB using Compass

I am using MongoDB Compass. I'm creating my queries in Compass query language (programming-language-agnostic, so I can port it over to other languages later via Compasss). My problem? I can't figure out what I'm doing wrong in this query. There are no docs explaining MongoDB Compass syntax for $search.
My indexed text field is called markdown_1, my query is "my" (or whatever the user enters), and the object that is being searched looks like this:
How do I get this query to return anything? As of now, it finds nothing.
Thanks!

MongoDB Collection export error Path collision at tokens

I am trying to export my collections from Atlas to my Local MongoDB with MongoDB Compass tool. The issue is I can export some collections but my user collection returning error.
Error is: Path collision at tokens.0BUo4-zWowM9ldTIUbs57Q remaining portion 0BUo4-zWowM9ldTIUbs57Q
Any help appreciated, thanks.
MongoDB Compass version is 1.28.1
This error occurs because there are two different types. Probably you have your token set as an object, or as an empty string.
The solution to use Mongo Compass is manually unchecking the "Root level field" that marks as a string. Check the following example:
The error occurs because the field "Fotos_da_OcorrĂȘncia" can be an empty string "" or and object {bucketName: "", comment: "", elementId: ""}.
When i uncheck the Root Level Field it exports normally.
By some search, I saw some other people facing similar problem. So it may be caused by some bug on MongoDB Compass version is 1.28.1. Workaround solution was using command line interface like below.
mongodump --uri="<connection-string>" --out /path/to/export

Unable to to copy one Field to another filed Mongo db Native query

Hi guys unable to copy one field value to another field in mongo db update many options, I am using mongo db 3.6, i attached my query below pls help me to overcome this issue.
db.am_task.updateMany(
{"reselleraccountid":{$exists:true}},
{$set:{"reselleraccountid":"$parantid"}}
)
Actual Results:
Expected Result
its should replace its value, not print its key name.

Not able to fetch records from mongodb using presto

I have a mongodb catalog under etc/catalog named mongodb.properties
When I run the presto shell and execute command :
Show tables;
I shows the collections of mongodb but when I run select query it gives me errors.
presto> select * from <catalog>.<schema>.<collection/table>;
Gives error :
java.sql.SQLException: Query failed (#20190429_125534_00001_qxggq): line 1:8: SELECT * not allowed in queries without FROM clause
at io.prestosql.jdbc.PrestoResultSet.resultsException(PrestoResultSet.java:1839)
at io.prestosql.jdbc.PrestoResultSet.getColumns(PrestoResultSet.java:1749)
at io.prestosql.jdbc.PrestoResultSet.<init>(PrestoResultSet.java:118)
at io.prestosql.jdbc.PrestoStatement.internalExecute(PrestoStatement.java:251)
at io.prestosql.jdbc.PrestoStatement.execute(PrestoStatement.java:229)
at io.prestosql.jdbc.PrestoStatement.executeQuery(PrestoStatement.java:78)
at spark_mongo_poc.SparkMongo.process_query(SparkMongo.java:32)
at spark_mongo_poc.SparkMongo.main(SparkMongo.java:76)
Presto> select name from <mongodb>.<schema>.<collection>;
Gives error :
java.sql.SQLException: Query failed (#20190429_125718_00002_qxggq): line 1:8: Column 'name' cannot be resolved
at io.prestosql.jdbc.PrestoResultSet.resultsException(PrestoResultSet.java:1839)
at io.prestosql.jdbc.PrestoResultSet.getColumns(PrestoResultSet.java:1749)
at io.prestosql.jdbc.PrestoResultSet.<init>(PrestoResultSet.java:118)
at io.prestosql.jdbc.PrestoStatement.internalExecute(PrestoStatement.java:251)
at io.prestosql.jdbc.PrestoStatement.execute(PrestoStatement.java:229)
at io.prestosql.jdbc.PrestoStatement.executeQuery(PrestoStatement.java:78)
at spark_mongo_poc.SparkMongo.process_query(SparkMongo.java:32)
at spark_mongo_poc.SparkMongo.main(SparkMongo.java:76)
I want same data as we get when we do db.collection.find({}); which gives me proper result in the form of documents
Please help
I Fixed the above issue by just changing the mongodb collection name
to all Lower Case. There is an issue with presto mongodb catalog that
it doesnot recognise Upper case Lettered collection name and that was
the reason it was not able to identify the collection.
So I changed my collection case to lower and it started working. :)
I had similar issue. I fixed it adding this to catalog configuration.
mongodb.case-insensitive-name-matching=true

Unexpected token error when using MongoDB

Attempting to setup / populate a basic mongo db using the shell, I get the following error message.
I have tried different databases but the error is the same. Can anyone kindly explain what I'm doing wrong?
{
"user":"bob",
"email":"bob#home.com"
}
Mon May 26 00:54:28.228
SyntaxError: Unexpected token :
Attempting to setup / populate a basic mongo db using the shell, I get the following error message.
I have tried different databases but the error is the same. Can anyone kindly explain what I'm doing wrong?
The code you mentioned is just the document itself. Check out the docs for how insert works. To insert, you should use:
db.collection.insert()
An example of an insert with the document in your example:
db.collection.insert({ "user":"bob", "email":"bob#home.com" })
Edit---
To clarify, you must replace "collection", in the above example with the name of the collection you're trying to insert into.
Also, ensure that you're using the correct database. When you connect to the shell, select your db with:
use testdb